package chixing.day15.homework.work4;

import java.util.*;

public class PhoneTest {
    public static void main(String[] args) {
        ArrayList<Phone> phoneArrayList = new ArrayList<>();
        phoneArrayList.add(new Phone("苹果", "iphone15", 1999));
        phoneArrayList.add( new Phone("小米", "RedmiK70", 3999));
        phoneArrayList.add( new Phone("华为", "华为70Pro", 2999));
        phoneArrayList.add( new Phone("OPPO", "OPPOK12x", 4999));
        phoneArrayList.add( new Phone("华为", "华为nova11SE", 3999));
        phoneArrayList.add( new Phone("苹果", "iphone14", 6999));
        phoneArrayList.add( new Phone("小米", "RedmiNote13", 1000));
        phoneArrayList.add( new Phone("OPPO", "OPPOA1i", 19990));
        phoneArrayList.add( new Phone("苹果", "iphone13", 2999));
        phoneArrayList.add( new Phone("华为", "华为mate60", 2999));
        phoneArrayList.add( new Phone("华为", "华为nova12", 2999));
        phoneArrayList.add( new Phone("小米", "小米12C", 2888));
        phoneArrayList.add( new Phone("苹果", "iphone12", 1777));

        //将以上的数据 进行品牌归类，同一品牌的手机放在一个集合中
        HashMap<String, List<Phone>> phoneMap = new HashMap<>();
        //先判断map中是否存在这个 手机品牌
        //如果不存在这个 品牌 要先创建一个List<Phone> 然后就把这个品牌作为key值  手机对象添加到该value的list中
        //如果存在该品牌 拿到他的value List<Phone>然后再将该元素添加到lie中

        for (Phone p:phoneArrayList) {
            if (!phoneMap.containsKey(p.getPhoneBrand())){//如果不存在这个品牌
                //如果不存在这个 品牌 要先创建一个List<Phone> 然后就把这个品牌作为key值  手机对象添加到该value的list中
                List<Phone> list = new ArrayList<>();
                list.add(p);
                phoneMap.put(p.getPhoneBrand(),list);

            }else {
                //如果存在该品牌 拿到他的value List<Phone>然后再将该元素添加到lie中
                phoneMap.get(p.getPhoneBrand()).add(p);
            }
        }

        //输出map
        for (Map.Entry<String,List<Phone>> e:phoneMap.entrySet()) {
            System.out.println(e);
        }
    }
}
